import request from '@/config/axios'

// ERP 报销管理 VO
export interface ReimburseVO {
  id: number // 申请编号
  merchantId: number // 用户编号
  companyId: number // 客户编号
  typeId: number // 订单时间
  remark: string // 备注
  checkState: number // 审批状态：0，审批中 1，审批通过 2，审批未通过 3，撤销审批中 4，撤销通过 5，撤销未通过
  checkDesc: string // 审批说明
}

// ERP 报销 API
export const ReimburseApi = {
  // 查询报销分页
  getReimbursePage: async (params: any) => {
    return await request.get({ url: `/erp/finance-reimburse/page`, params })
  },

  // 查询报销详情
  getReimburse: async (id: number) => {
    return await request.get({ url: `/erp/finance-reimburse/get?id=` + id })
  },

  // 查询报销明细详情
  getReimburseItem: async (id: number) => {
    return await request.get({ url: `/erp/finance-reimburse-item/list?reimburseId=` + id })
  },

  // 新增报销
  createReimburse: async (data: ReimburseVO) => {
    return await request.post({ url: `/erp/finance-reimburse/create`, data })
  },

  // 修改报销
  updateReimburse: async (data: ReimburseVO) => {
    return await request.put({ url: `/erp/finance-reimburse/update`, data })
  },

  // 更新报销的审核状态
  updateReimburseCheckState: async (id: number, checkState: number) => {
    return await request.put({
      url: `/erp/finance-reimburse/update-check`,
      params: {
        id,
        checkState
      }
    })
  },

  // 更新报销的审核状态
  updateReimbursePayState: async (id: number, payState: number) => {
    return await request.put({
      url: `/erp/finance-reimburse/update-pay`,
      params: {
        id,
        payState
      }
    })
  },

  // 删除报销
  deleteReimburse: async (ids: number[]) => {
    return await request.delete({
      url: `/erp/finance-reimburse/delete`,
      params: {
        ids: ids.join(',')
      }
    })
  },

  // 导出报销 Excel
  exportReimburse: async (params: any) => {
    return await request.download({ url: `/erp/reimburse/export-excel`, params })
  }
}
